<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic
  PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd">
<topic id="topic1" xml:lang="en">
  <title id="fw143540">pg_opfamily</title>
  <body>
    <p>The catalog <codeph>pg_opfamily</codeph> defines operator families. Each operator family is a
      collection of operators and associated support routines that implement the semantics specified
      for a particular index access method. Furthermore, the operators in a family are all
      compatible in a way that is specified by the access method. The operator family concept allows
      cross-data-type operators to be used with indexes and to be reasoned about using knowledge of
      access method semantics.</p>
    <p>The majority of the information defining an operator family is not in its
      <codeph>pg_opfamily</codeph> row, but in the associated rows in
      <codeph><xref href="./pg_amop.xml#topic1" type="topic" format="dita"/></codeph>,
      <codeph><xref href="./pg_amproc.xml#topic1" type="topic" format="dita"/></codeph>, and
      <codeph><xref href="./pg_opclass.xml#topic1" type="topic" format="dita"/></codeph>.</p>
    <table id="table_dfn_chh_sfb">
      <title>pg_opfamily</title>
      <tgroup cols="4">
        <colspec colnum="1" colname="col1" colwidth="118.24pt"/>
        <colspec colnum="2" colname="col2" colwidth="66.06pt"/>
        <colspec colnum="3" colname="col3" colwidth="101.06pt"/>
        <colspec colnum="4" colname="col4" colwidth="161.83pt"/>
        <thead>
          <row>
            <entry>Name</entry>
            <entry>Type</entry>
            <entry>References</entry>
            <entry>Description</entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry><codeph>oid</codeph></entry>
            <entry>oid</entry>
            <entry></entry>
            <entry>Row identifier (hidden attribute; must be explicitly selected)</entry>
          </row>
          <row>
            <entry><codeph>opfmethod</codeph></entry>
            <entry>oid</entry>
            <entry>pg_am.oid</entry>
            <entry>Index access method operator for this family</entry>
          </row>
          <row>
            <entry><codeph>opfname</codeph></entry>
            <entry>name</entry>
            <entry> </entry>
            <entry>Name of this operator family</entry>
          </row>
          <row>
            <entry><codeph>opfnamespace</codeph></entry>
            <entry>oid</entry>
            <entry>pg_namespace.oid</entry>
            <entry>Namespace of this operator family</entry>
          </row>
          <row>
            <entry><codeph>opfowner</codeph></entry>
            <entry>oid</entry>
            <entry>pg_authid.oid</entry>
            <entry>Owner of the operator family</entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </body>
</topic>
